home *** CD-ROM | disk | FTP | other *** search
- From: argv%turnpike@Sun.COM (Dan Heller)
- Newsgroups: comp.sources.x
- Subject: v06i024: xfig 2.0, Patch3
- Message-ID: <132641@sun.Eng.Sun.COM>
- Date: 7 Mar 90 19:56:29 GMT
- Approved: argv@sun.com
-
- Submitted-by: envbvs@epb2.lbl.gov (Brian V. Smith)
- Posting-number: Volume 6, Issue 24
- Archive-name: xfig2/patch3
- Patch-To: xfig2: volume 6, issues 9-23
-
- The first part of this file is a whole new file "CHANGES".
- Split it off (down to just before the "PATCH BEGINS HERE") and
- run it through sh to extract the file.
- Run the rest of this file through "patch".
-
- For any problems e-mail to bvsmith@lbl.gov
- - Brian Smith
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of shell archive."
- # Contents: CHANGES
- # Wrapped by envbvs@epb2.lbl.gov on Wed Feb 28 13:50:00 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'CHANGES' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'CHANGES'\"
- else
- echo shar: Extracting \"'CHANGES'\" \(586 characters\)
- sed "s/^X//" >'CHANGES' <<'END_OF_FILE'
- XVersion 2.0
- X
- XPatchlevel 3
- XChanges from patchlevel 2:
- X
- Xo now uses XtAddTimer instead of setitimer() for blinking cursor
- Xo Changed include directives for Athena widgets to include/X11/Xaw directory
- Xo added put_fmsg() to print messages with floating point numbers
- X Some machines (MIPS) were dumping core when passing floats as ints.
- X
- XPatchlevel 2
- XChanges from patchlevel 1:
- X
- Xo removed call to free() in curve() which was causing coredumps
- Xo Imakefile had .o filenames in SRCS definition
- X
- X
- XPatchlevel 1
- XChanges from patchlevel 0:
- X
- Xo included definition of put_msg()/FREE/CFREE in f2ps.c
- X
- END_OF_FILE
- if test 586 -ne `wc -c <'CHANGES'`; then
- echo shar: \"'CHANGES'\" unpacked with wrong size!
- fi
- # end of 'CHANGES'
- fi
- echo shar: End of shell archive.
- exit 0
-
- **************** PATCH BEGINS HERE ********************
-
- *** blink.c.p3 Tue Jan 16 17:21:03 1990
- --- blink.c Wed Feb 28 13:45:22 1990
- ***************
- *** 8,19
- */
- #include "fig.h"
-
- ! static int cursor_on, cursor_is_moving;
- ! static int cursor_x, cursor_y;
- ! static int blink();
- ! static int (*erase)();
- ! static int (*draw)();
- ! static struct itimerval blink_timer;
-
- turn_on_blinking_cursor(draw_cursor, erase_cursor, x, y, sec, usec)
- int (*draw_cursor)();
-
- --- 8,19 -----
- */
- #include "fig.h"
-
- ! static int cursor_on, cursor_is_moving;
- ! static int cursor_x, cursor_y;
- ! static int blink();
- ! static int (*erase)();
- ! static int (*draw)();
- ! static unsigned long blink_timer;
-
- static XtIntervalId blinkid;
- static int stop_blinking=FALSE;
- ***************
- *** 15,21
- static int (*draw)();
- static struct itimerval blink_timer;
-
- ! turn_on_blinking_cursor(draw_cursor, erase_cursor, x, y, sec, usec)
- int (*draw_cursor)();
- int (*erase_cursor)();
- int x, y;
-
- --- 15,25 -----
- static int (*draw)();
- static unsigned long blink_timer;
-
- ! static XtIntervalId blinkid;
- ! static int stop_blinking=FALSE;
- ! static int cur_is_blinking=FALSE;
- !
- ! turn_on_blinking_cursor(draw_cursor, erase_cursor, x, y, msec)
- int (*draw_cursor)();
- int (*erase_cursor)();
- int x, y;
- ***************
- *** 19,25
- int (*draw_cursor)();
- int (*erase_cursor)();
- int x, y;
- ! long sec, usec;
- {
- draw = draw_cursor;
- erase = erase_cursor;
-
- --- 23,29 -----
- int (*draw_cursor)();
- int (*erase_cursor)();
- int x, y;
- ! unsigned long msec;
- {
- draw = draw_cursor;
- erase = erase_cursor;
- ***************
- *** 26,35
- cursor_is_moving = 0;
- cursor_x = x;
- cursor_y = y;
- ! blink_timer.it_interval.tv_usec = usec;
- ! blink_timer.it_interval.tv_sec = sec;
- ! blink_timer.it_value.tv_usec = usec;
- ! blink_timer.it_value.tv_sec = sec;
- draw(x, y);
- cursor_on = 1;
- signal(SIGALRM, blink);
-
- --- 30,36 -----
- cursor_is_moving = 0;
- cursor_x = x;
- cursor_y = y;
- ! blink_timer = msec;
- draw(x, y);
- cursor_on = 1;
- if (!cur_is_blinking) /* if we are already blinking, don't request another */
- ***************
- *** 32,42
- blink_timer.it_value.tv_sec = sec;
- draw(x, y);
- cursor_on = 1;
- ! signal(SIGALRM, blink);
- ! setitimer(ITIMER_REAL, &blink_timer, (struct itimerval *)0);
- ! /*
- ! (void) notify_set_itimer_func(&me, blink, ITIMER_REAL, &blink_timer, 0);
- ! */
- }
-
- turn_off_blinking_cursor()
-
- --- 33,44 -----
- blink_timer = msec;
- draw(x, y);
- cursor_on = 1;
- ! if (!cur_is_blinking) /* if we are already blinking, don't request another */
- ! {
- ! blinkid = XtAddTimeOut(blink_timer, blink, 0);
- ! cur_is_blinking=TRUE;
- ! }
- ! stop_blinking = FALSE;
- }
-
- turn_off_blinking_cursor(client_data,id)
- ***************
- *** 39,45
- */
- }
-
- ! turn_off_blinking_cursor()
- {
- if (cursor_on) erase(cursor_x, cursor_y);
- blink_timer.it_interval.tv_usec = 0;
-
- --- 41,49 -----
- stop_blinking = FALSE;
- }
-
- ! turn_off_blinking_cursor(client_data,id)
- ! XtPointer client_data;
- ! XtIntervalId *id;
- {
- if (cursor_on)
- erase(cursor_x, cursor_y);
- ***************
- *** 41,56
-
- turn_off_blinking_cursor()
- {
- ! if (cursor_on) erase(cursor_x, cursor_y);
- ! blink_timer.it_interval.tv_usec = 0;
- ! blink_timer.it_interval.tv_sec = 0;
- ! blink_timer.it_value.tv_usec = 0;
- ! blink_timer.it_value.tv_sec = 0;
- ! setitimer(ITIMER_REAL, &blink_timer, (struct itimerval *)0);
- ! /*
- ! (void) notify_set_itimer_func(&me, blink, ITIMER_REAL, 0, 0);
- ! */
- ! draw = erase = NULL;
- }
-
- static
-
- --- 45,53 -----
- XtPointer client_data;
- XtIntervalId *id;
- {
- ! if (cursor_on)
- ! erase(cursor_x, cursor_y);
- ! stop_blinking = TRUE;
- }
-
- static
- ***************
- *** 56,65
- static
- blink()
- {
- ! if (cursor_is_moving) return(0);
- ! if (cursor_on) {
- ! erase(cursor_x, cursor_y);
- ! cursor_on = 0;
- }
- else {
- draw(cursor_x, cursor_y);
-
- --- 53,69 -----
- static
- blink()
- {
- ! if (!stop_blinking)
- ! {
- ! if (cursor_is_moving)
- ! return(0);
- ! if (cursor_on) {
- ! erase(cursor_x, cursor_y);
- ! cursor_on = 0;
- ! }
- ! else {
- ! draw(cursor_x, cursor_y);
- ! cursor_on = 1;
- }
- blinkid = XtAddTimeOut(blink_timer, blink, 0);
- }
- ***************
- *** 61,69
- erase(cursor_x, cursor_y);
- cursor_on = 0;
- }
- ! else {
- ! draw(cursor_x, cursor_y);
- ! cursor_on = 1;
- }
- return(0);
- }
-
- --- 65,76 -----
- draw(cursor_x, cursor_y);
- cursor_on = 1;
- }
- ! blinkid = XtAddTimeOut(blink_timer, blink, 0);
- ! }
- ! else
- ! {
- ! stop_blinking = FALSE; /* signal that we've stopped */
- ! cur_is_blinking = FALSE;
- }
- return(0);
- }
- *** char.c.orig Tue Jan 16 17:21:03 1990
- --- char.c Wed Feb 28 12:11:43 1990
- ***************
- *** 16,21
- extern int cur_font, cur_fontsize;
- extern int cur_texttype;
-
- #define BUF_SIZE 400
-
- char prefix[BUF_SIZE], /* part of string left of mouse click */
-
- --- 16,22 -----
- extern int cur_font, cur_fontsize;
- extern int cur_texttype;
-
- + #define BLINK_INTERVAL 700 /* milliseconds blink rate */
- #define BUF_SIZE 400
-
- char prefix[BUF_SIZE], /* part of string left of mouse click */
- ***************
- *** 53,59
- char_ht = char_height(canvas_font);
- char_received = 0;
- turn_on_blinking_cursor(draw_cursor, draw_cursor,
- ! cur_x, cur_y, (long)0, (long)700000);
- }
-
- terminate_char_handler()
-
- --- 54,60 -----
- char_ht = char_height(canvas_font);
- char_received = 0;
- turn_on_blinking_cursor(draw_cursor, draw_cursor,
- ! cur_x, cur_y, (long)BLINK_INTERVAL);
- }
-
- terminate_char_handler()
- *** fig.h.orig Thu Feb 22 15:49:10 1990
- --- fig.h Tue Feb 27 08:59:25 1990
- ***************
- *** 27,33
- #include <X11/Xlib.h>
- #include <X11/cursorfont.h>
- #include <X11/Intrinsic.h>
- - #include <X11/Scroll.h>
- #include <X11/StringDefs.h>
- #include <X11/Shell.h>
- #include <X11/Command.h>
-
- --- 27,32 -----
- #include <X11/Xlib.h>
- #include <X11/cursorfont.h>
- #include <X11/Intrinsic.h>
- #include <X11/StringDefs.h>
- #include <X11/Shell.h>
-
- ***************
- *** 30,35
- #include <X11/Scroll.h>
- #include <X11/StringDefs.h>
- #include <X11/Shell.h>
- #include <X11/Command.h>
- #include <X11/Label.h>
- #include <X11/Dialog.h>
-
- --- 29,44 -----
- #include <X11/Intrinsic.h>
- #include <X11/StringDefs.h>
- #include <X11/Shell.h>
- +
- + /* R4 */
- + #if XtSpecificationRelease >= 4
- + #include <X11/Xaw/Command.h>
- + #include <X11/Xaw/Label.h>
- + #include <X11/Xaw/Dialog.h>
- + #include <X11/Xaw/Box.h>
- + #include <X11/Xaw/Form.h>
- + /* R3 */
- + #else
- #include <X11/Command.h>
- #include <X11/Label.h>
- #include <X11/Dialog.h>
- ***************
- *** 35,40
- #include <X11/Dialog.h>
- #include <X11/Box.h>
- #include <X11/Form.h>
-
- #ifdef sparc
-
-
- --- 44,50 -----
- #include <X11/Dialog.h>
- #include <X11/Box.h>
- #include <X11/Form.h>
- + #endif
-
- #ifdef sparc
-
- *** msgsw.c.orig Tue Jan 16 17:21:07 1990
- --- msgsw.c Mon Feb 26 16:49:39 1990
- ***************
- *** 36,41
- /***************** exported variables and procedures *****************/
-
- put_msg();
- init_msgreceiving();
-
- /************************ local variables and routines ******************/
-
- --- 36,42 -----
- /***************** exported variables and procedures *****************/
-
- put_msg();
- + put_fmsg();
- init_msgreceiving();
-
- /************************ local variables and routines ******************/
- ***************
- *** 111,116
- put_msg(format, arg1, arg2, arg3, arg4, arg5)
- char *format;
- int arg1, arg2, arg3, arg4, arg5;
- {
- sprintf(prompt, format, arg1, arg2, arg3, arg4, arg5);
- msg_args[4].value = (XtArgVal)prompt;
-
- --- 112,129 -----
- put_msg(format, arg1, arg2, arg3, arg4, arg5)
- char *format;
- int arg1, arg2, arg3, arg4, arg5;
- + {
- + sprintf(prompt, format, arg1, arg2, arg3, arg4, arg5);
- + msg_args[4].value = (XtArgVal)prompt;
- + XtSetValues(msg_sw, &msg_args[4], 1);
- + }
- +
- + /* floating point version - MIPS (DEC3100) doesn't like ints where floats are used */
- +
- + /*VARARGS1*/
- + put_fmsg(format, arg1, arg2, arg3, arg4, arg5)
- + char *format;
- + float arg1, arg2, arg3, arg4, arg5;
- {
- sprintf(prompt, format, arg1, arg2, arg3, arg4, arg5);
- msg_args[4].value = (XtArgVal)prompt;
- *** panel.c.orig Mon Feb 19 11:10:47 1990
- --- panel.c Mon Feb 26 16:41:18 1990
- ***************
- *** 944,950
- break;
- case F_FILL :
- fill_mode = 1;
- ! put_msg("FILL MODE (gray level = %.2f)",
- 1.0-(cur_areafill-1.0)/(NUMFILLPATS-1.0));
- break;
- }
-
- --- 944,950 -----
- break;
- case F_FILL :
- fill_mode = 1;
- ! put_fmsg("FILL MODE (gray level = %.2f)",
- 1.0-(cur_areafill-1.0)/(NUMFILLPATS-1.0));
- break;
- }
- ***************
- *** 1124,1130
- /* put fill pixmap in widget background */
- indicator_panel_args[15].value = ind_fill_pm[cur_areafill-1];
- XtSetValues(fill_panel, &indicator_panel_args[15], 1);
- ! put_msg("FILL GRAY = %.2f", 1.0-(cur_areafill-1.0)/(NUMFILLPATS-1.0));
- }
-
- /* save_n_exit */
-
- --- 1124,1130 -----
- /* put fill pixmap in widget background */
- indicator_panel_args[15].value = ind_fill_pm[cur_areafill-1];
- XtSetValues(fill_panel, &indicator_panel_args[15], 1);
- ! put_fmsg("FILL GRAY = %.2f", 1.0-(cur_areafill-1.0)/(NUMFILLPATS-1.0));
- }
-
- /* save_n_exit */
- *** patchlevel.h.p2 Wed Feb 28 13:27:19 1990
- --- patchlevel.h Tue Feb 27 09:22:42 1990
- ***************
- *** 1
- ! #define PATCHLEVEL 2
-
- --- 1 -----
- ! #define PATCHLEVEL 3
-
- dan
- -----------------------------------------------------------
- O'Reilly && Associates
- argv@sun.com / argv@ora.com
- 632 Petaluma Ave, Sebastopol, CA 95472
- 800-338-NUTS, in CA: 800-533-NUTS, FAX 707-829-0104
- Opinions expressed reflect those of the author only.
-